#ifndef STATIONARY_SOLVER_H
#define STATIONARY_SOLVER_H

#include"main.h"
#include"ground_data.h"
#include"pipe_data.h"

class StationarySolver {
 public:
  StationarySolver(GroundData* GroundData_, PipeData* PipeData_);
  int SetGroundInitialConditions(float T_0, float T_0_surface, float T_0_earth);
  int SetPipeInitialConditions(float T_in, float T_out, float v);
  int MakeStep(float delta_t);
  int CountStream(void);
  float T_0_surface;
  float T_0_earth;
  float* Q;
  float c;
  float v;
  float k;
  float ro;
 private:
  float** T_new;  // new temperature
  GroundData* GroundData_;
  PipeData* PipeData_;
};

extern StationarySolver* StationarySolver_;

#endif